package com.ftg.learn.chapter04;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.Reader;
import java.util.List;
import java.util.Map;

/**
 * @author KangJx
 * @date 2021/5/27
 */
public class Play {

    /**
     * 这种开发模式在公司使用的广一些
     * 更简单的 注解开发
     * @param args
     */
    public static void main(String[] args) {
        SqlSession ss = null;
        String path = "mybatis-config.xml";
        try {
            Reader reader = Resources.getResourceAsReader(path);
            SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
            SqlSessionFactory ssf = ssfb.build(reader);
            ss = ssf.openSession();

            //已经 把一个接口与一个xml完成映射关系
            //如果 你拿到这个接口  会由mybatis为我们生成一个代理类，完成真实jdbc操作
            //oo 面向对象
            IDept id = ss.getMapper(IDept.class);
            List<Map<String,Object>> list = id.queryAllForMap();
            System.out.println(list);

            ss.commit();
        }catch (Exception e){
            ss.rollback();
            e.printStackTrace();
        }finally {
            ss.close();
        }
    }

}
